<?php



class Controle
{
	var $vista;
	var $registro;
	var $cliente;
	var $pedido;
	
	function Controle($registro) {
		$this->registro = $registro;
		if (isset($_SESSION['cliente'])) {
			$this->cliente	= unserialize($_SESSION['cliente']);
		}
		else {
			$this->cliente	= new Cliente();
		}
		$this->registro->set('cliente', $this->cliente);
		
		if (isset($_SESSION['pedido'])) {
			$this->pedido 	= unserialize($_SESSION['pedido']);
		}
		else {
			$this->pedido		= new Pedido();
			$this->pedido->setCliente($this->cliente);
			$_SESSION['pedido']	= serialize($this->pedido);
		}
		$this->registro->set('pedido', $this->pedido);
	}
	
	function exibir($pagina) {
		$this->vista = new Vista($this, $this->registro);
		$this->vista->exibir($pagina);
	}
	
	function executaAcao($action) {
		if (file_exists(__SITE_PATH . '/control/controle' . $action . '.php')) {
			include (__SITE_PATH . '/control/controle' . $action . '.php');
		}
		else {
			$strMensagem = "Servi&ccedil;o n&atilde;o encontrado.";
			$_SESSION['mensagens']['naoEncontrado'] = $strMensagem;
			header("Location: ./index.php");
		}
	}
	
	function getVista() {
		return $this->vista;
	}

    public function getRegistro()
    {
        return $this->registro;
    }
	
	public function trataAction($action) {
		$actionArray = preg_split("/([0-9]+)/", $action, -1, PREG_SPLIT_DELIM_CAPTURE);
		if (isset($actionArray[1])) {
			$_SESSION[$actionArray[0]]['id'] = $actionArray[1];
		}
		return $actionArray[0];
	}
}

?>